home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 009 (1987-02-15)(Ossowski, Stefan)(DE)(PD).zip / Taifun 009 (1987-02-15)(Ossowski, Stefan)(DE)(PD).adf / HackIconII_Source / Gadgets.c < prev    next >
C/C++ Source or Header  |  1987-03-04  |  7KB  |  182 lines

  1. /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\
  2. * |_o_o|\\ Copyright (c) 1987 The Software Distillery.  All Rights Reserved *
  3. * |. o.| ||          Written by Doug Walker                                 *
  4. * | .  | ||          The Software Distillery                                *
  5. * | o  | ||          235 Trillingham Lane                                   *
  6. * |  . |//           Cary, NC 27511                                         *
  7. * ======             BBS:(919)-471-6436                                     *
  8. \* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  9.  
  10. #include <exec/types.h>
  11. #include <intuition/intuition.h>
  12. #include "hackicon.h"
  13.  
  14.  
  15.  
  16. struct Image colimage[CTSIZ] = {    /* Imagery for color selection gadgets */
  17.    {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,0,NULL }, 
  18.    {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,1,NULL },
  19.    {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,2,NULL }, 
  20.    {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,3,NULL },   
  21.    {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,4,NULL }, 
  22.    {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,5,NULL }, 
  23.    {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,6,NULL }, 
  24.    {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,7,NULL },
  25.    {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,8,NULL }, 
  26.    {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,9,NULL },
  27.    {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,10,NULL}, 
  28.    {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,11,NULL},
  29.    {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,12,NULL}, 
  30.    {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,13,NULL},
  31.    {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,14,NULL}, 
  32.    {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,15,NULL}
  33. };
  34.  
  35. struct Gadget colgads[16] = {
  36.    { &colgads[1], PLXLEFT, PLYTOP, PLXWIDTH, PLYHEIGHT, 
  37.       GADGHBOX | GADGIMAGE, RELVERIFY,
  38.       BOOLGADGET,  (APTR)&colimage[0], NULL,NULL,NULL,NULL, 0, NULL
  39.    },
  40.    { &colgads[2], PLXLEFT,PLYTOP+PLYHEIGHT, PLXWIDTH, PLYHEIGHT, 
  41.       GADGHBOX | GADGIMAGE, RELVERIFY,
  42.       BOOLGADGET,  (APTR)&colimage[1], NULL,NULL,NULL,NULL, 1, NULL
  43.    },
  44.    { &colgads[3], PLXLEFT,PLYTOP+PLYHEIGHT*2, PLXWIDTH, PLYHEIGHT, 
  45.      GADGHBOX | GADGIMAGE, RELVERIFY,
  46.      BOOLGADGET,  (APTR)&colimage[2], NULL,NULL,NULL,NULL, 2, NULL
  47.    },
  48.    { &colgads[4], PLXLEFT,PLYTOP+PLYHEIGHT*3, PLXWIDTH, PLYHEIGHT, 
  49.      GADGHBOX | GADGIMAGE, RELVERIFY,
  50.      BOOLGADGET,  (APTR)&colimage[3], NULL,NULL,NULL,NULL, 3, NULL
  51.    },
  52.    { &colgads[5], PLXLEFT,PLYTOP+PLYHEIGHT*4, PLXWIDTH, PLYHEIGHT, 
  53.      GADGHBOX | GADGIMAGE, RELVERIFY,
  54.      BOOLGADGET,  (APTR)&colimage[4], NULL,NULL,NULL,NULL, 4, NULL
  55.    },
  56.    { &colgads[6], PLXLEFT,PLYTOP+PLYHEIGHT*5, PLXWIDTH, PLYHEIGHT, 
  57.      GADGHBOX | GADGIMAGE, RELVERIFY,
  58.      BOOLGADGET,  (APTR)&colimage[5], NULL,NULL,NULL,NULL, 5, NULL
  59.    },
  60.    { &colgads[7], PLXLEFT,PLYTOP+PLYHEIGHT*6, PLXWIDTH, PLYHEIGHT, 
  61.      GADGHBOX | GADGIMAGE, RELVERIFY,
  62.      BOOLGADGET,  (APTR)&colimage[6], NULL,NULL,NULL,NULL, 6, NULL
  63.    },
  64.    {        NULL, PLXLEFT, PLYTOP+PLYHEIGHT*7,  PLXWIDTH, PLYHEIGHT, 
  65.      GADGHBOX | GADGIMAGE, RELVERIFY,
  66.      BOOLGADGET,  (APTR)&colimage[7], NULL,NULL,NULL,NULL, 7, NULL
  67.    },
  68. /*
  69.  * The following are defined in case the user selects 16-color mode.
  70.  * If so, simply set colgads[7].NextGadget = &colgads[8] and all will be well.
  71.  */
  72.    { &colgads[9], PLXLEFT+PLXWIDTH+5,PLYTOP, PLXWIDTH, PLYHEIGHT, 
  73.      GADGHBOX | GADGIMAGE, RELVERIFY,
  74.      BOOLGADGET,  (APTR)&colimage[8], NULL,NULL,NULL,NULL,  8, NULL
  75.    },
  76.    { &colgads[10],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT, PLXWIDTH, PLYHEIGHT, 
  77.      GADGHBOX | GADGIMAGE, RELVERIFY,
  78.      BOOLGADGET,  (APTR)&colimage[9], NULL,NULL,NULL,NULL,  9, NULL
  79.    },
  80.    { &colgads[11],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*2, PLXWIDTH, PLYHEIGHT,
  81.      GADGHBOX | GADGIMAGE, RELVERIFY,
  82.      BOOLGADGET,  (APTR)&colimage[10], NULL,NULL,NULL,NULL, 10, NULL
  83.    },
  84.    { &colgads[12],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*3, PLXWIDTH, PLYHEIGHT,
  85.      GADGHBOX | GADGIMAGE, RELVERIFY,
  86.      BOOLGADGET,  (APTR)&colimage[11], NULL,NULL,NULL,NULL, 11, NULL
  87.    },
  88.    { &colgads[13],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*4, PLXWIDTH, PLYHEIGHT,
  89.      GADGHBOX | GADGIMAGE, RELVERIFY,
  90.      BOOLGADGET,  (APTR)&colimage[12], NULL,NULL,NULL,NULL, 12, NULL
  91.    },
  92.    { &colgads[14],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*5, PLXWIDTH, PLYHEIGHT,
  93.      GADGHBOX | GADGIMAGE, RELVERIFY,
  94.      BOOLGADGET,  (APTR)&colimage[13], NULL,NULL,NULL,NULL, 13, NULL
  95.    },
  96.    { &colgads[15],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*6,PLXWIDTH, PLYHEIGHT,
  97.      GADGHBOX | GADGIMAGE, RELVERIFY,
  98.      BOOLGADGET,  (APTR)&colimage[14], NULL,NULL,NULL,NULL, 14, NULL
  99.    },
  100.    {        NULL ,PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*7,PLXWIDTH, PLYHEIGHT-2,
  101.      GADGHBOX | GADGIMAGE, RELVERIFY,
  102.      BOOLGADGET,  (APTR)&colimage[15], NULL,NULL,NULL,NULL, 15, NULL
  103.    },
  104. };
  105.  
  106. struct IntuiText rtxt = {2,2,JAM1,-9,2,NULL,(UBYTE *)"R",NULL};
  107. struct IntuiText gtxt = {2,2,JAM1,-9,2,NULL,(UBYTE *)"G",NULL};
  108. struct IntuiText btxt = {2,2,JAM1,-9,2,NULL,(UBYTE *)"B",NULL};
  109.  
  110. struct Image    r_img, g_img, b_img;
  111. struct PropInfo r_prop,g_prop,b_prop;
  112.  
  113. struct Gadget blue_gad = {
  114.    colgads, 12, EDYTOP+34, PLXLEFT-16, 11, GADGHCOMP, 
  115.    RELVERIFY|GADGIMMEDIATE|FOLLOWMOUSE, PROPGADGET,(APTR)&b_img, NULL,
  116.    &btxt, NULL,(APTR)&b_prop, G_BLUE, NULL };
  117.  
  118. struct Gadget green_gad = {
  119.    &blue_gad, 12,EDYTOP+22, PLXLEFT-16,11, GADGHCOMP, 
  120.    RELVERIFY|GADGIMMEDIATE | FOLLOWMOUSE, PROPGADGET,(APTR)&g_img, NULL,
  121.    >xt, NULL,(APTR)&g_prop, G_GREEN, NULL };
  122.  
  123. struct Gadget red_gad = {
  124.    &green_gad, 12, EDYTOP+10, PLXLEFT-16,11, GADGHCOMP, 
  125.    RELVERIFY|GADGIMMEDIATE | FOLLOWMOUSE, PROPGADGET,(APTR)&r_img, NULL,
  126.    &rtxt, NULL,(APTR)&r_prop, G_RED, NULL };
  127.  
  128. struct IntuiText Load_text = {0,2,JAM1,3,20,NULL,
  129.                               (UBYTE *)"Enter a file name to load:",NULL};
  130. struct IntuiText Save_text = {0,2,JAM1,3,20,NULL,
  131.                               (UBYTE *)"Enter a file name to save:",NULL};
  132. struct IntuiText ok_text = {0,2,JAM1,22,2,NULL,(UBYTE *)"OK",NULL};
  133. struct IntuiText cancel_text = {0,2,JAM1,6,2,NULL,(UBYTE *)"Cancel",NULL};
  134.  
  135. char TextBuffer[100] = "characters";
  136. struct StringInfo Req_Info= {
  137.    TextBuffer, NULL, 0, 100, 0, 0, 0, 0, 0, 0, NULL, 0L, NULL
  138. };
  139.  
  140. struct Gadget Req_gads[] = {
  141.    { &Req_gads[1], 10, 40, 200, 10, GADGHCOMP, 0, 
  142.      STRGADGET|REQGADGET, NULL, NULL, NULL, 0L, &Req_Info, G_RSTR, NULL
  143.    },
  144.    { &Req_gads[2], 10, 60, 60, 10, GADGHCOMP, RELVERIFY|ENDGADGET,
  145.      BOOLGADGET|REQGADGET, NULL, NULL, &ok_text, 0L, NULL, G_ROK, NULL
  146.    },
  147.    { NULL, 150, 60, 60, 10, GADGHCOMP, RELVERIFY|ENDGADGET,
  148.      BOOLGADGET|REQGADGET, NULL, NULL, &cancel_text, 0L, NULL, G_RCANCEL, NULL
  149.    },
  150. };
  151.  
  152. SHORT ReqBordData[] = 
  153. {
  154.    -2, -2, 62, -2, 62, 11, -2, 11, -2, -2,
  155.    -3, -2, 202, -2, 202, 9, -3, 9, -3, -2,
  156.    2, 2, 218, 2, 218, 88, 2, 88, 2, 2
  157. };
  158.  
  159. struct Border Req_Bords[] = {
  160. {  10, 60, 0, 2, JAM1, 5, ReqBordData, &Req_Bords[1] },
  161. { 150, 60, 0, 2, JAM1, 5, ReqBordData, &Req_Bords[2] },
  162. {  10, 40, 0, 2, JAM1, 5, &ReqBordData[10], &Req_Bords[3] },
  163. {   0,  0, 0, 2, JAM1, 5, &ReqBordData[20], NULL },
  164.    
  165. };
  166.  
  167. struct Requester NameRequester;
  168.  
  169. SHORT BorderData[] = 
  170. {
  171.  0, 0, EDWIDTH+3,  0, EDWIDTH+3,  EDHEIGHT+3,    0, EDHEIGHT+3,    0, 0,
  172.  0, 0, PLXWIDTH+3, 0, PLXWIDTH+3, 8*PLYHEIGHT+3, 0, 8*PLYHEIGHT+3, 0, 0,
  173.  0, 0, PLXWIDTH+1, 0, PLXWIDTH+1, PLYHEIGHT+1, 0, PLYHEIGHT+1, 0, 0,
  174. };
  175.  
  176. struct Border Borders[] = {
  177. { EDXLEFT-2, EDYTOP-2, 1, 0, JAM1, 5, BorderData, &Borders[1] },
  178. { PLXLEFT-2, PLYTOP-2, 1, 0, JAM1, 5, &BorderData[10], NULL },
  179. { PLXLEFT-1, PLYTOP-1, 1, 0, JAM1, 5, &BorderData[20], NULL },
  180. };
  181.  
  182.